package com.ctshk.rpc.iotc.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@ApiModel(value="OperatePromotionAddReq对象", description="新增推广码Req")
public class OperatePromotionAddReq implements Serializable {


    private static final long serialVersionUID = -8484109294236247506L;
    @ApiModelProperty(value = "活动ID",required = true)
    private String activityCode;

    @ApiModelProperty(value = "出资部门ID",required = true)
    private Long departmentId;

    @ApiModelProperty(value = "部门名称",required = true)
    private String departmentName;

    @ApiModelProperty(value = "活动总金额",required = true)
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "活动名称",required = true)
    private String name;

    @ApiModelProperty(value = "活动有效期起始",required = true)
    private LocalDateTime activityBegin;

    @ApiModelProperty(value = "活动有效期截至",required = true)
    private LocalDateTime activityEnd;

    @ApiModelProperty(value = "活动周期(1无限制2每周)",required = true)
    private Integer activityCycle;

    @ApiModelProperty(value = "活动周期星期数据(1每周一2每周二...逗号隔开)")
    private String activityCycleWeeks;

    @ApiModelProperty(value = "满足X金额",required = true)
    private BigDecimal fullAmount;

    @ApiModelProperty(value = "减X金额",required = true)
    private BigDecimal reductionAmount;

    @ApiModelProperty(value = "优惠总名额")
    private Integer totalDiscountQuota;

    @ApiModelProperty(value = "优惠说明")
    private String discountExplain;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "业务类型(1旅行团2定制包团3机票4酒店5火车6门票)")
    private Integer businessType;

    @ApiModelProperty(value = "适用产品(数组格式)")
    private List<Long> relationIdList;

    @ApiModelProperty(value = "适用渠道(Json格式)")
    private List<OperateJson> channelsJson;

    @ApiModelProperty(value = "适用部门(Json格式)")
    private List<OperateJson> departmentsJson;

    @ApiModelProperty(value = "优惠对象(Json格式)")
    private List<OperateJson> discountObjectsJson;

    @ApiModelProperty(value = "推广码状态(0 已撤回 1 未提交 2 审批中 3 审批不通过 4 有效 5暂停  6无效)",hidden = true)
    private Integer status;

    @ApiModelProperty(value = "保存状态(1仅保存，2开启一个审批)",required = true)
    private Integer saveStatus;
}
